package com.studyinghome.service;

import com.studyinghome.entity.User;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * @author Leslie (panxiang_work@163.com)
 * @website https://studyinghome.com
 * @create 2021-08-10 17:58
 */
public interface MongoService {

    /**
     * 找到所有
     *
     * @return {@link List}<{@link User}>
     */
    List<User> findAll();

    /**
     * 发现通过id
     *
     * @param userId 用户id
     * @return {@link User}
     */
    User findById(String userId);

    /**
     * 通过名称获取用户
     *
     * @param name 的名字
     * @return {@link List}<{@link User}>
     */
    List<User> findByName(String name);

    /**
     * 分页查询
     *
     * @param name 的名字
     * @return {@link Page}<{@link User}>
     */
    Page<User> findByPage(String name,int current,int size);

    /**
     * 保存
     *
     * @param user 用户
     * @return {@link User}
     */
    User save(User user);

    /**
     * 更新
     *
     * @param user 用户
     */
    void update(User user);

    /**
     * 删除通过id
     *
     * @param userId 用户id
     */
    void deleteById(String userId);
}
